#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<stdlib.h>
#include <assert.h>


//为了方便管理，改变数据类型。
typedef int SLNDataType;
//链表
typedef struct SListNode
{
	SLNDataType val;//存的值
	struct SListNode* next;//下一个节点
}SLNode;//别名

//创建节点
SLNode* CreateNode(SLNDataType x);

// 单链表打印
void SLTPrint(SLNode* phead);

// 单链表尾插
void SLTPushBack(SLNode** pphead, SLNDataType x);

// 单链表的头插
void SLTPushFront(SLNode** pphead, SLNDataType x);

//单链表的尾删
void SLTPopBack(SLNode** pphead);

// 单链表头删
void SLTPopFront(SLNode** pphead);


// 单链表查找
SLNode* SLTFind(SLNode* phead, SLNDataType x);

// 在pos的前面插入
SLNode* SLTInsert(SLNode** pphead, SLNode* pos, SLNDataType x);

// 删除pos位置
void SLTErase(SLNode** pphead, SLNode* pos);

// 销毁
void SLTDestroy(SLNode** pphead);
